home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TeX 1995 July
/
TeX CD-ROM July 1995 (Disc 1)(Walnut Creek)(1995).ISO
/
macros
/
latex209
/
contrib
/
pslatex
/
fontdef.psl
< prev
next >
Wrap
Text File
|
1992-05-25
|
19KB
|
565 lines
%%%========================================================================
%%% @LaTeX-file{
%%% author = "Mario Wolczko",
%%% version = "2",
%%% date = "21 May 1992",
%%% time = "21:13:50 BST",
%%% filename = "fontdef.psl",
%%% address = "Dept of Computer Science
%%% The University of Manchester
%%% Oxford Road
%%% Manchester M13 9PL
%%% UK",
%%% telephone = "+44-61-275-6146",
%%% FAX = "+44-61-275-6236",
%%% checksum = "27965 564 1831 18735",
%%% email = "mario@cs.man.ac.uk (Internet)",
%%% codetable = "ISO/ASCII",
%%% keywords = "LaTeX, PostScript, PS-LaTeX",
%%% supported = "yes",
%%% docstring = "Part of PS-LaTeX",
%%% }
%%%========================================================================
%% Modified by Mario Wolczko, for use with PS-LaTeX
%
% Last edited: Thu May 21 21:13:52 1992 by mario (Mario Wolczko) on madarch
%
% Report bugs in this file to:
% Mario Wolczko
% Dept of Computer Science, The University, Oxford Rd, Manchester M13 9PL, UK
% mario@cs.man.ac.uk.
%%
%% Copyright (C) 1989,1990,1991 by Frank Mittelbach, Rainer Schoepf.
%% All rights reserved.
%%
%% This file is part of the NFSS (New Font Selection Scheme) package.
%%
%% IMPORTANT NOTICE:
%%
%% You are not allowed to change this file. You may however copy this file
%% to a file with a different name and then change the copy if you obey
%% the restrictions on file changes described in readme.mz.
%%
%% You are allowed to distribute this file under the condition that it is
%% distributed together with all files mentioned in readme.mz3. If you
%% receive only some of these files from someone, complain!
%%
%% You are NOT ALLOWED to distribute this file alone. You are NOT ALLOWED
%% to take money for the distribution or use of either this file or a
%% changed version, except for a nominal charge for copying etc.
%%
%% For error reports in case of UNCHANGED versions see readme files.
%%
%% Please do not request updates from us directly. Distribution is done
%% through Mail-Servers and TeX organizations.
%%
\def\fileversion{v1.1k-miw}
\def\filedate{92/4/22}
\def\docdate {92/4/22}
%% \CheckSum{127}
%% \CharacterTable
%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
%% Digits \0\1\2\3\4\5\6\7\8\9
%% Exclamation \! Double quote \" Hash (number) \#
%% Dollar \$ Percent \% Ampersand \&
%% Acute accent \' Left paren \( Right paren \)
%% Asterisk \* Plus \+ Comma \,
%% Minus \- Point \. Solidus \/
%% Colon \: Semicolon \; Less than \<
%% Equals \= Greater than \> Question mark \?
%% Commercial at \@ Left bracket \[ Backslash \\
%% Right bracket \] Circumflex \^ Underscore \_
%% Grave accent \` Left brace \{ Vertical bar \|
%% Right brace \} Tilde \~}
%%
%% This file contains the external font information needed to load
%% the computer modern family designed by Donald E. Knuth, together
%% with all fonts which are supplied with the AMS font package.
%%
%% For a smaller collection of fonts see the file `fontdef.ori'.
%%
%% You should *not* change this file! If you want to change the
%% fonts/shapes you should create a copy of it named `fontdef.tex'
%% and edit this one according to your needs!
%%
%% The format of a font/shape definition is as follows:
%%
%% \new@fontshape{family}{series}{shape}%
%% {<size_1>external_font_1%
%% <size_2>external_font_2%
%% ...
%% <size_n>external_font_n}{}
%%
%% (Don't forget the final {} !)
%%
%% family : Name of font family like cmr etc.
%% series : Weight and width of the font in 1 to 4 letter
%% abbreviations. A table is given in the tugboat article
%% distributed together with this file.
%% shape : Either n (normal), it (italic), sc (small caps), sl
%% (slanted) or u (upright italic).
%% <size_i> : The size in printer points. Standard LaTeX supports 5,
%% 6, 7, 8, 9, 10, 11, 12, 14, 17, 20, 25 corresponding to
%% \tiny, \scriptsize and so on. The angle brackets are
%% part of the syntax!
%%
%% external_font_i : The name of the external font in your font
%% library. If the font/shape is not available in a
%% certain size you may use the name of a replacement
%% font. E.g. one can substitute cmr5 for cmti.. which is
%% only available in size 7 and higher. If you put a `1'
%% in front of the name of the font a warning message will
%% be produced (saying that the font has been substituted
%% for the real one) when you use it for the first time.
%% Below you can find examples of this mechanism.
%%
%% For font/shape combinations which aren't available at all like
%% computer modern sans serif small caps a suitable default will be
%% used automatically unless you specify a substitution yourself with
%% the \subst@fontshape command.
%%
%% It syntax is as follows:
%%
%% \subst@fontshape{family}{series}{shape}%
%% {subst_family}{subst_series}{subst_shape}
%%
%% This might be necessary if the automatically selected default does
%% not match your needs. For example: the font shape choosen instead
%% of `computer modern sans serif small caps' would be `computer
%% modern sans serif normal'. With a \subst@fontshape command you can
%% change this, for example, to `computer modern roman small caps' as
%% we did below. (If you don't like this remove this line in your
%% *copy* of this file.)
%%
%% Finally, for every family there is an \extra@def macro. It defines
%% special action to be done at load time for every font of the family.
%% In most cases you can simply write
%%
%% \extra@def{family}{}{}
%%
%% In this file it is used to suppress hyphenation for typewriter
%% fonts (see \extra@def{cmtt}... below) and to set the \skewchar
%% for math fonts (see \extra@def{cmm}... and \extra@def{cmsy}...).
%%
%%
\newlinechar`\^^J
\immediate\write\sixt@@n{File: `fontdef.max' \space
\fileversion\space <\filedate> (FMi and RmS)}
\immediate\write\sixt@@n{English Documentation
\@spaces\space <\docdate> (FMi and RmS)}
\immediate\write\sixt@@n
{^^JIncludes Font/Shape Definitions for:
^^J\@spaces Times Roman, Helvetica, Courier, Symbol,
^^J\@spaces Palatino, Avant Garde, Bookman, New Century Schoolbook,
^^J\@spaces Zapf Dingbats and Chancery,
^^J\@spaces Computer Modern Maths,
^^J\@spaces LaTeX Symbols%
% ^^J\@spaces Computer Modern Standard Fonts%
% \space (plus down scaled shapes)%
% ,^^J\@spaces AMS math symbol Fonts%
% ,^^J\@spaces Euler Fonts%
% ,^^J\@spaces University of Washington Cyrillic Fonts%
% ,^^J\@spaces Concrete Roman Fonts%
.^^J}
%%
%% Please don't change the next lines unless you know exactly what you
%% are doing.
%%
\def\default@shape{n}
\def\default@series{m}
\def\default@family{times}% miw
\def\default@errfont{cmsy10}
%%
%% Again, this is doubly dangerous bent.
%%
\fontfamily\default@family
\fontseries\default@series
\fontshape\default@shape
%%
%% And here is your playground:
%%
%--------------------
% lifted from latex.tex, as this is not yet loaded
\def\@ifnextchar#1#2#3{\let\@tempe #1\def\@tempa{#2}\def\@tempb{#3}\futurelet
\@tempc\@ifnch}
\def\@ifnch{\ifx \@tempc \@sptoken \let\@tempd\@xifnch
\else \ifx \@tempc \@tempe\let\@tempd\@tempa\else\let\@tempd\@tempb\fi
\fi \@tempd}
%% Borrowed from sfontdef.tex by Sebastian Rahtz
% Mods by Mario Wolczko for PS-LaTeX
% left to itself, the NFSS restricts a number of commands
% to the preamble only. I want to be able to load fonts anywhere
% in the document, so I take a copy now before the NFSS disables them!
%
\let\late@extra@def=\extra@def
\let\late@subst@fontshape=\subst@fontshape
\let\late@new@fontshape=\new@fontshape
% Generalized scheme for PostScript fonts, assuming they
% all have the same basic structure.
%
% (Some of these macros adapted from npsfonts.sty by Timothy van Zand)
%
%
% An optional first argument to
% \declare@font scales the font
% parameters
% 1 - scaling factor
% 2 - name of font family
% 3 - series
% 4 - style
% 5 - fontname
\def\declare@font{%
\@ifnextchar [{\declare@@font}{\declare@@font[1]}}
%
\def\declare@@font[#1]#2#3#4#5{%
\scale@stdsizes{#1}%
\late@new@fontshape{#2}{#3}{#4}{\scaled@sizes{#5}}{}}
%
\def\font@scale#1#2#3{\dimen@=#2\dimen@=#3\dimen@
\edef\scaled@sizes##1{\scaled@sizes{##1}<#1>##1 at\number\dimen@ sp}}
%
\def\scale@stdsizes#1{%
\edef\scaled@sizes##1{}%
\font@scale{5}{5pt}{#1}%
\font@scale{6}{6pt}{#1}%
\font@scale{7}{7pt}{#1}%
\font@scale{8}{8pt}{#1}%
\font@scale{9}{9pt}{#1}%
\font@scale{10}{10pt}{#1}%
\font@scale{11}{10.95pt}{#1}%
\font@scale{12}{12pt}{#1}%
\font@scale{14}{14.4pt}{#1}%
\font@scale{17}{17.28pt}{#1}%
\font@scale{20}{20.74pt}{#1}%
\font@scale{25}{24.88pt}{#1}}
%
% An optional first argument to
% \postscript@font scales the font
\def\postscript@fontdef{%
\@ifnextchar [{\postscript@fontseries}{\postscript@fontseries[1]}}
\def\postscript@fontseries[#1]#2#3#4#5#6#7#8{%
% 1 : font scale
% 2 : full name for family
% 3 : short name for family
% 4 : series
% 5 : tfm name for normal font
% 6 : tfm name for italic font
% 7 : tfm name for slanted font
% 8 : tfm name for smallcaps font
\immediate\write\sixt@@n
{Defining fonts for PostScript #2 family at scale #1, series #4}
\declare@font[#1]{#3}{#4}{n}{#5}
\declare@font[#1]{#3}{#4}{it}{#6}
\declare@font[#1]{#3}{#4}{sl}{#7}
\declare@font[#1]{#3}{#4}{sc}{#8}
\late@extra@def{#3}{}{}
\expandafter\def\csname l@d#3\endcsname{}}
\def\do@load@font#1#2{%
\expandafter\ifx\csname load@#1\endcsname\relax
\typeout{**** Error: font family #1 unknown ****}
\else
\csname load@#1\endcsname
\def#2{#1}%
% \rm should not be activated while initex is running
\expandafter\ifx\csname rm\endcsname\relax\else \rm\fi
\fi}
%
% now the user interface
% e.g., for \romanfont{times}
% -- if the command sequence \load@times is defined, it is executed
%
\def\romanfont#1{\do@load@font{#1}{\rmdefault}}
\def\sansfont#1{\do@load@font{#1}{\sfdefault}}
\def\typewriterfont#1{\do@load@font{#1}{\ttdefault}}
%-------------------------------------------------------------
%
% and now the actual fonts themselves
\def\load@times{%
\postscript@fontdef{Times}{times}{m}{ptmr0}{ptmri0}{ptmro0}{ptmrc0}%
\postscript@fontdef{Times}{times}{b}{ptmb0}{ptmbi0}{ptmbo0}{ptmbc0}%
}
% We use a condensed Courier as the default, as the pitch of the
% standard courier looks awful again Times.
% It's probably OK with, e.g., Palatino, though.
\def\load@courier{% It's just too hard to make the series default
% other than `m', so the normal courier is relabelled
% as semiexpanded
\postscript@fontdef{Courier}{courier}{sx}{pcrr0}{pcrro0}{pcrro0}{pcrr0}%
\postscript@fontdef{Courier}{courier}{sxb}{pcrb0}{pcrbo0}{pcrbo0}{pcrb0}%
% no Courier smallcaps or italics
\late@subst@fontshape{courier}{sx}{it}{courier}{sx}{sl}%
\late@subst@fontshape{courier}{sx}{sc}{courier}{sx}{n}%
\late@subst@fontshape{courier}{sxb}{it}{courier}{sxb}{sl}%
\late@subst@fontshape{courier}{sxb}{sc}{courier}{sxb}{n}%
\postscript@fontdef{Courier}{courier}{m}{pcrrrn0}{pcrron0}{pcrron0}{pcrrrn0}%
\postscript@fontdef{Courier}{courier}{b}{pcrbrn0}{pcrbon0}{pcrbon0}{pcrbrn0}%
\late@subst@fontshape{courier}{m}{it}{courier}{m}{sl}%
\late@subst@fontshape{courier}{m}{sc}{courier}{m}{n}%
\late@subst@fontshape{courier}{b}{it}{courier}{b}{sl}%
\late@subst@fontshape{courier}{b}{sc}{courier}{b}{n}%
\late@extra@def{courier}{\hyphenchar ##1\m@ne}{}%
}
\def\load@helvetica{%
\postscript@fontdef{Helvetica}{helvetica}{m}{phvr0}{phvro0}{phvro0}{phvrc0}%
\postscript@fontdef{Helvetica}{helvetica}{b}{phvb0}{phvbo0}{phvbo0}{phvbc0}%
% no Helvetica italics
\late@subst@fontshape{helvetica}{m}{it}{helvetica}{m}{sl}%
\late@subst@fontshape{helvetica}{b}{it}{helvetica}{b}{sl}%
% Helvetica Narrow (semicondensed)
\postscript@fontdef{Helvetica}{helvetica}{sc}%
{phvrrn0}{phvron0}{phvron0}{phvrcn0}%
\postscript@fontdef{Helvetica}{helvetica}{bsc}%
{phvbrn0}{phvbon0}{phvbon0}{phvbcn0}%
% no Helvetica italics
\late@subst@fontshape{helvetica}{sc}{it}{helvetica}{sc}{sl}%
\late@subst@fontshape{helvetica}{bsc}{it}{helvetica}{bsc}{sl}%
}
% this reduced variant of Helvetica looks better against Times -- the
% x-heights match.
\def\load@helveticareduced{%
\postscript@fontdef[.85]{Helvetica-Reduced}{helveticareduced}{m}%
{phvr0}{phvro0}{phvro0}{phvrc0}%
\postscript@fontdef[.85]{Helvetica-Reduced}{helveticareduced}{b}%
{phvb0}{phvbo0}{phvbo0}{phvbc0}%
% no Helvetica italics
\late@subst@fontshape{helveticareduced}{m}{it}{helveticareduced}{m}{sl}%
\late@subst@fontshape{helveticareduced}{b}{it}{helveticareduced}{b}{sl}%
}
\def\load@avantgarde{%
\postscript@fontdef{AvantGarde}{avantgarde}{m}%
{pagk0}{pagko0}{pagko0}{pagkc0}%
\postscript@fontdef{AvantGarde}{avantgarde}{b}%
{pagd0}{pagdo0}{pagdo0}{pagdc0}%
% no Avantgarde italics
\late@subst@fontshape{avantgarde}{m}{it}{avantgarde}{m}{sl}%
\late@subst@fontshape{avantgarde}{b}{it}{avantgarde}{b}{sl}%
}
\def\load@bookman{%
\postscript@fontdef{Bookman}{bookman}{m}{pbkl0}{pbkli0}{pbklo0}{pbklc0}%
\postscript@fontdef{Bookman}{bookman}{b}{pbkd0}{pbkdi0}{pbkdo0}{pbkdc0}%
}
\def\load@newcenturyschlbk{%
\postscript@fontdef{NewCenturySchlbk}{newcenturyschlbk}{m}%
{pncr0}{pncri0}{pncro0}{pncrc0}%
\postscript@fontdef{NewCenturySchlbk}{newcenturyschlbk}{b}%
{pncb0}{pncbi0}{pncbo0}{pncbc0}%
}
\def\load@palatino{%
\postscript@fontdef{Palatino}{palatino}{m}{pplr0}{pplri0}{pplro0}{pplrc0}%
\postscript@fontdef{Palatino}{palatino}{b}{pplb0}{pplbi0}{pplbo0}{pplbc0}%
}
% default PS-LaTeX
\romanfont{times}
\sansfont{helveticareduced}
\typewriterfont{courier}
% Zapf dingbats go in special family called `dingbat';
% See `dingbat.sty' for examples of macros which use them
\def\load@dingbat{%
\declare@font{dingbat}{m}{n}{pzdr0}%
\late@extra@def{dingbat}{}{}%
\late@subst@fontshape{dingbat}{m}{sc}{dingbat}{m}{n}%
\late@subst@fontshape{dingbat}{bx}{sc}{dingbat}{m}{n}%
\late@subst@fontshape{dingbat}{m}{u}{dingbat}{m}{n}%
\late@subst@fontshape{dingbat}{m}{sl}{dingbat}{m}{n}%
\late@subst@fontshape{dingbat}{b}{m}{dingbat}{m}{n}%
\late@subst@fontshape{dingbat}{b}{it}{dingbat}{m}{n}%
\late@subst@fontshape{dingbat}{bx}{m}{dingbat}{m}{n}%
\late@subst@fontshape{dingbat}{bx}{it}{dingbat}{m}{n}%
}
% also load Zapf Chancery, in case it's needed by anyone
\def\load@zapf{%
\declare@font{zapf}{m}{n}{pzcmi0}%
\late@extra@def{zapf}{}{}%
\late@subst@fontshape{zapf}{m}{sc}{zapf}{m}{n}%
\late@subst@fontshape{zapf}{bx}{sc}{zapf}{m}{n}%
\late@subst@fontshape{zapf}{m}{u}{zapf}{m}{n}%
\late@subst@fontshape{zapf}{m}{sl}{zapf}{m}{n}%
\late@subst@fontshape{zapf}{b}{m}{zapf}{m}{n}%
\late@subst@fontshape{zapf}{b}{it}{zapf}{m}{n}%
\late@subst@fontshape{zapf}{bx}{m}{zapf}{m}{n}%
\late@subst@fontshape{zapf}{bx}{it}{zapf}{m}{n}%
}
% Symbol and Symbol-Oblique, used in math mode by PS-LaTeX
\new@fontshape{sy}{m}{n}{%
<5>psyr0 at5pt%
<6>psyr0 at6pt%
<7>psyr0 at7pt%
<8>psyr0 at8pt%
<9>psyr0 at9pt%
<10>psyr0 at10pt%
<11>psyr0 at11pt%
<12>psyr0 at12pt%
<14>psyr0 at14.4pt%
<17>psyr0 at17.28pt%
<20>psyr0 at20.74pt%
<25>psyr0 at24.88pt}{}
\new@fontshape{sy}{m}{sl}{%
<5>psyro0 at5pt%
<6>psyro0 at6pt%
<7>psyro0 at7pt%
<8>psyro0 at8pt%
<9>psyro0 at9pt%
<10>psyro0 at10pt%
<11>psyro0 at11pt%
<12>psyro0 at12pt%
<14>psyro0 at14.4pt%
<17>psyro0 at17.28pt%
<20>psyro0 at20.74pt%
<25>psyro0 at24.88pt}{}
\extra@def{sy}{\skewchar#1'60}{}
%% --------------------end PostScript font section--------------------
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% Math italic font shapes
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\new@fontshape{cmm}{m}{it}{%
<5>cmmi5%
<6>cmmi6%
<7>cmmi7%
<8>cmmi8%
<9>cmmi9%
<10>cmmi10%
<11>cmmi10 at10.95pt%
<12>cmmi12%
<14>cmmi12 at14.4pt%
<17>cmmi12 at17.28pt%
<20>cmmi12 at20.74pt%
<25>cmmi12 at24.88pt%
}{}
\new@fontshape{cmm}{b}{it}{%
<5>cmmib5%
<6>cmmib6%
<7>cmmib7%
<8>cmmib8%
<9>cmmib9%
<10>cmmib10%
<11>cmmib10 at10.95pt%
<12>cmmib10 at12pt%
<14>cmmib10 at14.4pt%
<17>cmmib10 at17.28pt%
<20>cmmib10 at20.74pt%
<25>cmmib10 at24.88pt%
}{}
\extra@def{cmm}{\skewchar#1'177}{}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% Math symbol font shapes
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\new@fontshape{cmsy}{m}{n}{%
<5>cmsy5%
<6>cmsy6%
<7>cmsy7%
<8>cmsy8%
<9>cmsy9%
<10>cmsy10%
<11>cmsy10 at10.95pt%
<12>cmsy10 at12pt%
<14>cmsy10 at14.4pt%
<17>cmsy10 at17.28pt%
<20>cmsy10 at20.74pt%
<25>cmsy10 at24.88pt%
}{}
\new@fontshape{cmsy}{b}{n}{%
<5>cmbsy5%
<6>cmbsy6%
<7>cmbsy7%
<8>cmbsy8%
<9>cmbsy9%
<10>cmbsy10%
<11>cmbsy10 at10.95pt%
<12>cmbsy10 at12pt%
<14>cmbsy10 at14.4pt%
<17>cmbsy10 at17.28pt%
<20>cmbsy10 at20.74pt%
<25>cmbsy10 at24.88pt%
}{}
\extra@def{cmsy}{\skewchar#1'60}{}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% LaTeX symbol font shapes
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\new@fontshape{lasy}{m}{n}{%
<5>lasy5%
<6>lasy6%
<7>lasy7%
<8>lasy8%
<9>lasy9%
<10>lasy10%
<11>lasy10 at10.95pt%
<12>lasy10 at12pt%
<14>lasy10 at14.4pt%
<17>lasy10 at17.28pt%
<20>lasy10 at20.74pt%
<25>lasy10 at24.88pt%
}{}
\new@fontshape{lasy}{b}{n}{%
<5>lasyb10 at5pt%
<6>lasyb10 at6pt%
<7>lasyb10 at7pt%
<8>lasyb10 at8pt%
<9>lasyb10 at9pt%
<10>lasyb10%
<11>lasyb10 at10.95pt%
<12>lasyb10 at12pt%
<14>lasyb10 at14.4pt%
<17>lasyb10 at17.28pt%
<20>lasyb10 at20.74pt%
<25>lasyb10 at24.88pt%
}{}
\extra@def{lasy}{}{}